// 给定一个整数数组nums，要求将奇数元素位于数组的前半部分，偶数元素位于数组的后半部分

// 思路，双指针法，slow指向偶数后的一个元素位置，fast指向当前遍历的元素，判断是否是奇数，是的话和slow交换位置
// 时间复杂度：O(n)
// 空间复杂度：O(1)
function exchange(arr) {
    let slow = 0
    let fast = 0
    while (fast < arr.length) {
        if (arr[fast] % 2 === 1) {
            [arr[slow], arr[fast]] = [arr[fast], arr[slow]];
            slow++
        }
        fast++
    }
    return arr
}

console.log(exchange([1,2,3,4,5,6]))